package factory

//该结构体小写，无法被挎包实例化
//就算能实例化，score也不能赋值
//通常这种命名方式，是为了放一些私有属性，不给外部直接使用
type student struct {
	Name  string
	score float32
}

//给外部调用入口，可以调用，但必须遵循我的规则
func NewStudent(name string, score float32) *student {
	stu := &student{
		Name:  name,
		score: score,
	}
	return stu
}

func (s *student) GetScore() float32 {
	return s.score
}

func (s *student) SetScore(score float32) {
	s.score = score
}
